/**
 * 
 */
package ca.csf.dfc.poo.environnement;

import ca.csf.dfc.poo.exceptions.IllegalRecompenseException;

/**
 * @author Équipe 1
 */
public abstract class Case
{
    /**
     * La récompense en points associée à cette case.
     */
	protected int m_recompense;
	
	/**
	 * Constructeur d'initialisation de Case.
	 * @param p_recompense valeur de la récompense de la case
	 * @throws IllegalRecompenseException 
	 */
	public Case(int p_recompense) throws IllegalRecompenseException
	{
		this.setRecompense(p_recompense);
	}

	/**
	 * Retourne la récompense associée à cette case.
	 * @return la valeur de la récompense de la case
	 */
	public int getRecompense()
	{
		return this.m_recompense;
	}

	/**
	 * Permet d'assigner la récompense d'une case.
	 * @param p_recompense valeur de la récompense à assigner.
	 * @throws IllegalRecompenseException 
	 */
	protected void setRecompense(int p_recompense) throws IllegalRecompenseException
	{
		//On vérifie que la récompense est positive
		if(p_recompense <0)
			throw new IllegalRecompenseException();
		this.m_recompense = p_recompense;
	}
	

}
